
#pragma once

#include "Serializable.h"
#include "Utilities.h"

#include <string>
#include <map>

class Settings : public Serializable
{
public:
	bool				Load(const char* const i_filename);
	ZVariant			GetValue(std::string i_key) const;
	virtual	ZStream&	Serialize(ZStream& o_stream);
	virtual ZStream&	Deserialize(ZStream& i_stream);

	typedef	std::map<std::string, ZVariant> Map;
	typedef Map::const_iterator				MapCit;

private:
	Map	m_map;
};